/*
	将文本信息读入数组
*/

package reading_text

import (
	"bufio"
	"os"
	"strconv"
)

//函数将返回一个数字数组和错误信息
func GetFloats(fileName string) ([3]float64, error) {
	var numbers [3]float64
	file, err := os.Open(fileName)
	if err != nil {
		return numbers, err
	}

	i := 0 //跟踪当前索引，以便确定每一行赋值给哪个数组元素
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		numbers[i], err = strconv.ParseFloat(scanner.Text(), 64) //将文件中的行字符串转换为float64
		if err != nil {
			return numbers, err
		}
		i++
	}

	err = file.Close()
	if err != nil {
		return numbers, err
	}
	if scanner.Err() != nil {
		return numbers, scanner.Err()
	}

	return numbers, nil
}
